package ch.fusun.baron.map.ui.views;

import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;

/**
 * Actions that can be performed on objects in the map ui
 */
public interface TileAction {

	/**
	 * @return The class to react to (selection)
	 */
	Class<?> getReactionClass();

	/**
	 * @param obj
	 *            The selected object
	 */
	void execute(Object obj);

	/**
	 * @return Description of the action
	 */
	String getText();

	/**
	 * @param display
	 *            The display
	 * @param path
	 *            The path
	 * @return The image at the specified path
	 */
	Image loadImage(Display display, String path);

}
